home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
games
/
281
/
stos
/
orbit.bas
(
.txt
)
< prev
next >
Wrap
Atari STOS Basic
|
1989-03-03
|
55KB
|
605 lines
1 REM ********************************
10 FADE
100 VARNAME
1000 VARNAME
10000 HIDE
10005 SPRITE
10010 IF
10015 SCREEN COPY
10030 RESET ZONE
10035 SET ZONE
10045 AUTO BACK
1005 GOSUB
10097 REM
10098 REM ~~~~> Arrival of one bat
10099 REM
1010 MUSIC
10100 SPRITE
10105 LOGIC
10115 SPRITE
10120 MOVE X
10125 MOVE
10130 SPRITE
10135 IF
10140 X MOUSE
10145 DEC
1015 IF
10197 REM
10198 REM ~~~~> Draw all the blocks / set zones
10199 REM
1020 VARNAME
10200 CLS
10205 FOR
10210 SCREEN$
10215 IF
10220 NEXT
10225 RETURN
1025 WHILE
10297 REM
10298 REM ~~~~> Print score
10299 REM
1030 VARNAME
10300 VARNAME
1035 VARNAME
1040 ON ERROR
1045 FOR
105 VARNAME
1050 CLOSE
1055 FOR
1060 IF
1065 GOSUB
1070 IF
1075 IF
1080 IF
1081 RETURN
1085 BOOM
1090 RESUME
1097 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1098 REM One wave
1099 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 RESERVE
110 FOR
115 RESTORE
1200 VARNAME
1205 VARNAME
1210 GOSUB
1215 IF
1220 REM anim 2,"(9,5)(10,5)(11,5)(10,5)l" : anim on 2
1225 VARNAME
125 RESTORE
1297 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1298 REM Game loop
1299 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
130 RESTORE
1300 REPEAT
1305 IF
1310 VARNAME
1315 DEC
1320 IF
1325 VARNAME
1330 MOVE
1335 IF
1340 IF
1345 IF
135 RESTORE
1350 IF
1355 IF
1360 IF
1365 VARNAME
1370 MOVE X
1375 DEC
1385 VARNAME
1390 IF
1391 IF
1395 WAIT VBL
1399 REM ~~~~> End of play
140 RESTORE
1400 VARNAME
1405 IF
1410 IF
1415 IF
1420 ANIM
1425 FOR
1430 MOVE X
1435 FOR
1440 IF
1445 RETURN
145 FOR
15 VARNAME
150 VARNAME
155 VARNAME
197 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
198 REM Convert sprites into screen blocs
199 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1991 REM Block effects
1992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1999 REM ~~~~> Start of game / GLUE
19990 REM
19991 REM
19992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19993 REM SCREEN DESIGNER
19994 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19995 REM
19996 REM
2 REM * *
20 DIM
200 CLS
2000 MOVE
20000 FADE
20005 VARNAME
2005 VARNAME
2010 IF
20100 VARNAME
20105 GOSUB
2015 IF
20197 REM
20198 REM ~~~~> Main loop
20199 REM
2020 GOTO
20200 REPEAT
20205 VARNAME
20206 VARNAME
20207 IF
20210 WAIT VBL
20215 IF
20220 ON
20225 VARNAME
20230 IF
20235 CLS
20240 SCREEN COPY
20245 GOTO
2025 VARNAME
2030 MOVE X
2035 WHILE
20399 REM ~~~~> Load
2040 RETURN
20400 CLS
20405 IF
20410 IF
20415 IF
20420 ON ERROR
20425 LOCATE
20430 FOR
20435 CLOSE
20440 ON ERROR
20445 GOSUB
2045 VARNAME
20475 BOOM
20480 FOR
20485 RESUME
20499 REM ~~~~> Save pattern
205 FOR
2050 IF
20500 CLS
20505 IF
20510 IF
20515 IF
20520 ON ERROR
20525 LOCATE
20530 FOR
20535 CLOSE
20540 ON ERROR
20545 GOSUB
2055 SPRITE
20575 BOOM
20599 REM ~~~~> Play
20600 FADE
20605 VARNAME
20610 FADE
20699 REM ~~~~> Quit
20700 FADE
20799 REM ~~~~> Dec nbhits
20800 IF
20805 IF
20810 GOTO
20899 REM ~~~~> Inc nbhits
20900 IF
20905 IF
20910 GOTO
2099 REM ~~~~> Normal block
20999 REM ~~~~> Select one brick
21 DIM
210 SPRITE
2100 IF
21000 SET LINE
21005 IF
21010 IF
21015 VARNAME
2105 IF
2110 RETURN
21100 HIDE
21105 FOR
21110 IF
21115 NEXT
21120 SHOW
21200 PAPER
21205 IF
21210 RETURN
21300 SPRITE
21305 AUTO BACK
21310 VARNAME
21315 NEXT
21325 INK
21330 INK
21335 INK
21340 INK
21341 INK
21342 INK
21343 INK
21345 VARNAME
21355 GOSUB
21360 SET ZONE
21365 LIMIT MOUSE
21370 RETURN
215 NEXT
2599 REM ~~~~> Bomb
2600 IF
2605 IF
2610 VARNAME
2615 RETURN
2650 REM anim 2,"(12,2)(13,2)(14,2)(13,2)(12,2)(11,2)(10,2)(9,2)(8,2)(9,2)(10,2)(11,2)l" : anim on 2
2655 BOOM
2660 WAIT
2699 REM ~~~~> Super ball
2700 IF
2705 RETURN
2799 REM ~~~~> Reverse action of mouse
2800 IF
2805 VARNAME
2810 IF
2815 X MOUSE
2899 REM ~~~~> Hyperspace
2900 IF
2905 VARNAME
2910 VARNAME
2915 RETURN
297 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
298 REM Creates title sprite
299 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2999 REM ~~~~> Explosion
3 REM * ORBIT *
300 EXTENSION (Index #0) (Token 0x80)
3000 IF
3005 MOVE
3010 SPRITE
3015 VARNAME
3020 VARNAME
3025 IF
3030 GOSUB
3035 WHILE
3040 SPRITE
3045 RETURN
305 VARNAME
3099 REM ~~~~> Indestructible
3100 SHOOT
3199 REM ~~~~> Allow Up and Down movements
3200 IF
3205 BELL
3210 RETURN
3299 REM ~~~~> Loose one ball (indestructible)
3300 MOVE
3305 BOOM
3310 SPRITE
3399 REM Freeze bat for 1 second
3400 IF
3405 RETURN
3499 REM ~~~~> Move bat at random
3500 IF
3505 BOOM
3510 RETURN
3599 REM ~~~~> Speeds up
3600 IF
3605 BOOM
3610 VARNAME
3699 REM ~~~~> Glue
3700 IF
3705 BELL
3799 REM ~~~~> Extend / shrink bat
3800 IF
3805 MOVE
3808 IF
3810 IF
3812 IF
3815 ANIM
3816 IF
3820 LIMIT MOUSE
3825 FOR
3830 REM f BAT=1 then anim 2,"(9,4)(10,4)(11,4)(10,4)l" else anim 2,"(12,6)(13,6)(14,6)(13,6)l"
3835 ANIM
3899 REM ~~~~> Slow
3900 IF
3905 BOOM
3910 VARNAME
3999 REM ~~~~> Extra bat
4 REM * *
4000 IF
4005 IF
4010 MOVE
4015 SPRITE
4020 FOR
4025 MOVE
4099 REM ~~~~> Exit to next level
4100 IF
4105 SPRITE
4110 FOR
4115 GOSUB
4120 VARNAME
4199 REM ~~~~> Resets all bricks (indestructable)
4200 IF
4205 BOOM
4210 FOR
4212 NEXT
4299 REM ~~~~> Small small bat
4300 IF
4305 MOVE
4310 IF
4315 ANIM
4320 LIMIT MOUSE
4325 FOR
4330 REM anim 2,"(5,1)(6,1)l"
4335 ANIM
4399 REM ~~~~> Bonus B
4400 IF
4405 VARNAME
4499 REM ~~~~> Bonus O
4500 IF
4505 BELL
4510 RETURN
4599 REM ~~~~> Bonus N
4600 IF
4605 BELL
4610 RETURN
4699 REM ~~~~> Bonus U
4700 IF
4705 BELL
4710 RETURN
4799 REM ~~~~> Bonus S
4800 IF
4805 BELL
4810 IF
4815 MOVE
4820 FLASH
4825 VARNAME
4830 FOR
4835 FLASH
4840 RETURN
497 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
498 REM TITLE PAGE
499 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49987 REM
49988 REM
49989 REM
49990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49991 REM Ball movement definition
49992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49997 REM
49998 REM ~~~~> Slow
49999 REM
5 REM * By F. Lionet *
500 MUSIC
50000 DATA
50001 DATA
50002 DATA
50003 DATA
50004 DATA
50005 DATA
50006 DATA
50007 DATA
50008 DATA
50009 DATA
50010 DATA
50011 DATA
50047 REM
50048 REM ~~~~> Slow but not that much
50049 REM
50050 DATA
50051 DATA
50052 DATA
50053 DATA
50054 DATA
50055 DATA
50056 DATA
50057 DATA
50058 DATA
50059 DATA
50060 DATA
50061 DATA
50097 REM
50098 REM ~~~~> Medium speed
50099 REM
501 CLS
50100 DATA
50101 DATA
50102 DATA
50103 DATA
50104 DATA
50105 DATA
50106 DATA
50107 DATA
50108 DATA
50109 DATA
50110 DATA
50111 DATA
50147 REM
50148 REM ~~~~> Medium well speed
50149 REM
50150 DATA
50151 DATA
50152 DATA
50153 DATA
50154 DATA
50155 DATA
50156 DATA
50157 DATA
50158 DATA
50159 DATA
50160 DATA
50161 DATA
50197 REM
50198 REM ~~~~> Hi speed
50199 REM
50200 DATA
50205 DATA
50210 DATA
50215 DATA
50220 DATA
50225 DATA
50230 DATA
50235 DATA
50240 DATA
50245 DATA
50250 DATA
50255 DATA
50297 REM
50298 REM ~~~~> Unplayable speed
50299 REM
50300 DATA
50305 DATA
50310 DATA
50315 DATA
50320 DATA
50325 DATA
50330 DATA
50335 DATA
50340 DATA
50345 DATA
50350 DATA
50355 DATA
505 SPRITE
510 WHILE
515 TIMER
520 WHILE
525 WEND
530 PAPER
535 PEN
540 PEN
545 CDOWN
546 CDOWN
550 SCREEN COPY
555 MOVE Y
560 FOR
565 TIMER
570 WHILE
575 VARNAME
580 NEXT
585 FADE
590 FADE
595 IF
59987 REM
59988 REM
59989 REM
59990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59991 REM Rebounds tables
59992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59997 REM
59998 REM ~~~~> On the bats
59999 REM Normal
6 REM * Graphics by D. McLachlan *
600 IF
60000 DATA
60005 DATA
60009 REM Big
60010 DATA
60015 DATA
60019 REM Small
60020 DATA
60025 DATA
60097 REM
60098 REM ~~~~> On the walls
60099 REM
60100 DATA
60105 DATA
60110 DATA
60115 DATA
60120 DATA
60197 REM
60198 REM ~~~~> On the blocs
60199 REM
602 IF
60200 DATA
60205 DATA
60210 DATA
60215 DATA
60220 DATA
605 DEFAULT
60997 REM
60998 REM ~~~~> Effects of blocs (adresses of lines)
60999 REM
61000 DATA
61005 DATA
61010 DATA
61015 DATA
62000 REM ****** Orbit instructions *******
62001 UPDATE
62002 LOGIC
62003 PEN
62004 RESTORE
62009 LOCATE
62020 LOCATE
62030 PRINT
62050 PRINT
62051 PRINT
62052 INK
62053 POLYGON
62054 VARNAME
62055 SPRITE
62061 FADE
62062 LOGIC
62070 REPEAT
62080 IF
62090 IF
62100 VARNAME
62105 SCREEN COPY
62110 UNTIL
62120 LOGIC
62500 LOGIC
62510 LOCATE
62520 RETURN
63000 DATA
63010 DATA
63020 DATA
63030 DATA
63040 DATA
63050 DATA
63060 DATA
63070 DATA
63080 DATA
63090 DATA
63100 DATA
63110 DATA
63120 DATA
63130 DATA
63140 DATA
63150 DATA
63160 DATA
63170 DATA
63180 DATA
63190 DATA
63200 DATA
63210 DATA
63220 DATA
63230 DATA
63240 DATA
63250 DATA
63260 DATA
63270 DATA
7 REM * *
8 REM * STOS / (c) Jawx / Mandarin *
9 REM ***********31/7/1988************
97 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98 REM Variables initialisation
99 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9900 END
995 REM
996 REM
997 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
998 REM One game
999 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9990 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9991 REM Other routines
9992 REM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9997 REM
9998 REM ~~~~> Draw main screen
9999 REM